
/*
 * Copyright (c) Huawei Technologies Co., Ltd. 2020-2020. All rights reserved.
 * Description: 上机编程认证
 * Note: 缺省代码仅供参考，可自行决定使用、修改或删除
 */
#include <iostream>
#include <set>
#include <string>
using namespace std;

class Solution {
public:
    // 待实现函数，在此函数中填入答题代码;
    int GetCountOfSubString(const string &input)
    {
        int result=0;
        int length = input.size();
        //以每个字符为起点，找到最长的不重复1子串
        for (int i = 0; i < length; ++i) {
            set<char> charSet;
            charSet.insert(input[i]);
            result++;
            for (int j = i+1; j < length; ++j) {
                if (charSet.find(input[j]) == charSet.end()) {
                    charSet.insert(input[j]);
                    result++;
                } else {
                    break;
                }
            }
        }
        return result;
    }
};

int main()
{
    string input;
    cin >> input;

    Solution solu;
    cout << solu.GetCountOfSubString(input) << endl;

    return 0;
}

